#pragma once

#include <windows.h>
#include <tchar.h>


class IWindowMessagesProcessor;

class CWindowBuilder
{
public:
   CWindowBuilder(void);
   ~CWindowBuilder(void);

   HWND createFullScreenWindow(HINSTANCE hInstance, 
                               unsigned int width, 
                               unsigned int height,
                               IWindowMessagesProcessor* ptrMsgProc) const;

   HWND createWindowedModeWindow(HINSTANCE hInstance, 
                                 unsigned int width, 
                                 unsigned int height,
                                 IWindowMessagesProcessor* ptrMsgProc) const;

private:
   static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
};
